// 十进制计算
// 1. 计算不进位的和 十位 1 不变，个位 3 + 9 等于 2
// 2. 计算进位 十位没进位，个位进位为 1，结果为 10
// 3. 再计算十进制 12 + 10
// 4. 计算不进位的和
// 5. 计算进位的和
var add = function (a, b) {
  if (a == 0) return b;
  if (b == 0) return a;
  return add(a ^ b, (a & b) << 1);
};

var add = function (a, b) {
  while (a != 0) {
    // 无进位和
    let temp = a ^ b;
    // 进位
    a = (a & b) << 1;
    b = temp;
  }
  return b;
};
